Field of the Invention
The invention relates to a method for testing a semiconductor memory having a plurality of memory banks, in which commands are generated and testing is effected to determine whether or not the commands are executed by the memory banks, single-bank commands for testing a respective single memory bank being generated and assigned to selected memory banks. The invention furthermore relates to a method for testing a semiconductor memory having the plurality of memory banks, single-bank commands for accessing a respective single memory bank being generated and executed for test purposes, and testing being effected to determine whether or not the commands are executed correctly by the memory banks.
The invention furthermore relates to a semiconductor circuit having a semiconductor memory including a plurality of memory banks. The semiconductor circuit has a built-in self-test (BIST) processor that generates single-bank commands for testing individual memory banks. The invention additionally relates to a semiconductor circuit having a semiconductor memory including memory banks and such a BIST processor.
Integrated semiconductor circuits with semiconductor memories often have an integrated switching unit that, upon start-up of the semiconductor circuit, automatically carries out a functional test of the integrated semiconductor memory. Such a switching unit is provided on many microprocessors and is designated according to its function as BIST because a microprocessor into which this switching unit is integrated automatically carries out a self-test of its own semiconductor memory when it is activated, i.e., supplied with current.
Furthermore, there are test devices with which memories of semiconductor circuits can be tested in a targeted manner. These test devices are very complicated and unwieldy and serve for carrying out more complex and more diverse functional tests on semiconductor memories in individual experiments.
Semiconductor circuits occasionally have a selection unit, a so-called multiplexer, with which either self-test signals generated on the test controller or external commands conducted into the test controller externally can be selected to carry out the memory test.
The switching unit for generating the self-test commands (BIST) and, if appropriate, the multiplexer are part of a test controller that is integrated as switching region into a semiconductor circuit such as, for instance, an application specific integrated circuit (ASIC). Commands output by the test controller are forwarded to the semiconductor memory, for example, to an embedded DRAM, and the execution of the commands by the DRAM is monitored and evaluated by the test controller. The test result lies in an indication of whether or not memory areas function as intended and, if appropriate, which memory areas do not function as intended.
Semiconductor memories usually include a plurality of memory areas that can be addressed independently of one another, the memory banks. The size of an integrated semiconductor memory depends on the number of memory banks present and on the number of memory cells per memory bank, expressed in the number of row addresses and column addresses. The number and memory size of the memory banks are determined by the application for which the semiconductor memory is used.
If a semiconductor memory is tested for its functionality, then the operations that each memory cell must be able to perform during the operation of the memory are carried out on a sample basis, commands being successively conducted to all the memory cells of the semiconductor memory and the correct execution of these commands being tested. In such a case, the commands xe2x80x9creadxe2x80x9d and xe2x80x9cwritexe2x80x9d for the reading and writing of information items are tested, and also commands xe2x80x9cactivatexe2x80x9d and xe2x80x9cprechargexe2x80x9d for activating and deactivating a memory cell for a write or read operation. Such a command constitutes a single-bank command because, at one point in time, it can only ever be used to test a single memory bank.
A plurality of single-bank commands are carried out successively by all the memory cells of a memory bank and successively in all the memory banks. As such, it is possible to test the basic functions of a memory cell in the entire memory.
During operation of the semiconductor circuit, however, the semiconductor operations to be formed are more complex. At a specific clock cycle time, it is usually not just a single memory cell that is addressed, but rather a plurality of memory cells and, in particular, those of different memory banks. By way of example, while an information item is stored in a memory cell of a first memory bank or is read from it, at the same time a memory cell of a second memory bank is prepared for the writing or reading of information items. Therefore, a plurality of memory banks is usually accessed at every clock cycle time.
Such an access has not been able to be carried out by testing heretofore. Above all, the switching units (BIST) developed for the automatic self-test are only able to generate commands for a memory cell of a single memory bank and to forward them to the relevant memory bank. These single-bank commands are not suitable, however, for testing more complex memory interrogations than the basic functions of an individual memory cell.
It would be desirable to be able also to simulate more complex accesses to a plurality of memory banks simultaneously for test purposes when a memory is activated. Such a process would necessitate new development of a test controller, for example, the BIST unit thereof for generating the command sequences so that commands that simultaneously address a plurality of memory banks are also generated.
Such a new development can only be achieved with a high outlay in respect of time and costs. So that the costs for the development of new integrated semiconductor circuits are kept low, a new development of the test controller, in particular, its BIST processor, is usually left out of consideration. As a result, the self-test as is performed on conventional BIST circuits remains limited to the single-bank commands.
It is accordingly an object of the invention to provide a test of a semiconductor memory having a plurality of memory banks that overcomes the hereinafore-mentioned disadvantages of the heretofore-known devices and methods of this general type and that enables a test in which memory cells of different memory banks of a semiconductor memory are addressed simultaneously by testing, and, at the same time, the costs and the outlay for such a test are kept low.
With the foregoing and other objects in view, there is provided, in accordance with the invention, a method for testing a semiconductor memory having a plurality of memory banks, including the steps of generating respective single-bank commands for testing a single one of the memory banks and assigning the commands to selected ones of the memory banks, combining a plurality of single-bank commands to form a multibank command, the single bank commands of the multibank command being executed simultaneously by the memory banks to which the single bank commands are respectively assigned, and effecting a test to determine if the selected ones of the memory banks jointly execute the multibank command.
According to the invention, a plurality of single-bank commands are combined to form a multibank command, as constituents of which they can be executed simultaneously by the various memory banks to which they are respectively assigned, and, in that, testing is effected to determine whether or not the selected memory banks jointly execute the multibank command.
According to the invention, multibank commands are formed that are required for test access to a plurality of memory banks simultaneously. However, these multibank commands are not generated directly, which would necessitate a complete new development of a test controller and of the method, i.e., its mode of operation. Instead, multibank commands are generated in two steps, in that, firstly single-bank commandsxe2x80x94preferably those commands that test the basic functions of a single memory cellxe2x80x94are generated. In a second step, a plurality of such single-bank commands are combined with one another to form a test command that can access a plurality of memory banks simultaneously. For the generation of a single multibank command, a set of memory banks is selected, each of which is intended to execute in each case a single single-bank command. The single-bank commands to be executed are likewise selected. To generate the multibank command, the selected memory banks are in each case assigned to a single-bank command, or conversely the commands are assigned to the memory banks. The assigned single-bank commands are combined to form a single multibank command that is configured such that it initiates the simultaneous execution of the operations corresponding to the single-bank commands contained in it in the various memory cells of the selected memory banks.
According to the invention, these multibank commands are formed in a two-stage process in which firstly the single-bank commands, which can be generated with the aid of conventional methods and semiconductor circuits, are established, in the simplest case accepted from an output of a conventional BIST processor. Such a process makes it possible to have recourse to circuits and their modes of operation as have been used heretofore for generating commands for the basic operations of individual memory cells. In a second step, these available single-bank commands are combined and multibank commands are established therefrom. Only for this second step is it necessary to develop new methods and circuits. As a result, it becomes possible, with a very low development outlay, to generate complex commands that address a plurality of memory banks simultaneously, to forward such commands, and to test the interaction between different memory banks. The objectives on which the invention are based are thereby achieved.
With the objects of the invention in view, there is also provided a method for testing a semiconductor memory having a plurality of memory banks, including the steps of generating single-bank commands that access in each case a single memory bank and executing them for test purposes, testing being effected to determine whether or not the commands are executed correctly by the memory banks, and in which case a multibank command is executed that includes at least two single-bank commands and simultaneously accesses at least two memory banks, and testing being effected to determine whether or not the at least two memory banks correctly execute the at least two single-bank commands of the multibank command at the same time, i.e., simultaneously.
In accordance with another mode of the invention, testing is effected to determine whether or not a first memory bank correctly executes a first single-bank command even when a further, second single-bank command is executed by a second memory bank at the same time. Such a process makes it possible to detect even those defects that cannot be detected during the conventional test operation of individual memory banks even though, in conventional test methods, all the memory banks are individually tested one after the other and, therefore, an unidentified defect should no longer occur.
In accordance with a further mode of the invention, for a selection of memory banks, a sequence of multibank commands is formed that is configured such that the order of assigned single-bank commands that is contained therein is identical for each selected memory bank.
If a multibank command is transmitted to the semiconductor memory, each selected memory bank is allocated the single-bank command that is intended for it and is provided by the multibank command for such memory bank. At a fixed point in time, each memory bank is generally allocated another command. Accordingly, in a sequence of multibank commands, the sequence of those single-bank commands that an individual memory bank executes is generally different from memory bank to memory bank. The memory banks can execute an entirely different order of single-bank commands in one and the same time period. It is advantageous, however, if each memory bank executes the same sequence of commands in the course of the test because such a process enables a particularly simple evaluation of the test result. According to the above embodiment, therefore, a predetermined sequence of single-bank commands passes through all the memory banksxe2x80x94in a manner distributed between the various memory banks by the sequence of multibank commands.
In accordance with an added mode of the invention, the multibank commands are formed by assigning single-bank commands to different memory banks in a clock-cycle-time-offset manner, and by combining clock-cycle-time-identical single-bank commands assigned to different memory banks to form a respective multibank command.
Accordingly, a predetermined sequence of single-bank commands is assigned to the various selected memory banks in an unchanged order but in a temporally offset manner one after the other. What is thereby achieved in a simple manner is that each memory bank executes the same order of single-bank commands in the course of processing multibank commands. Maintaining the order of the single-bank commands generated in the first step does not preclude inserting pause clock cycles for one memory bank or a plurality of memory banks for the distribution of the single-bank commands between the multibank commands. A single command sequence suitable for the clock-cycle-time-offset assignment will often also contain pause clock cycles during which the state of the addressed memory bank remains unchanged. Preferably, however, the sequence of single-bank commands that is to be prescribed is suitably configured by the addition of pause clock cycles that it can be assigned to the memory banks unchanged in a temporally offset manner in the sequence of multibank commands.
If N memory banks are addressed simultaneously, then it is preferably provided that the multibank commands (II) that can be executed by the N selected memory banks are formed by a suitable sequence of single-bank commands (I) being assigned to the selected memory banks (A, B) in a manner offset by up to (Nxe2x88x921) clock cycle times. In such a case, the time offset increases from one memory bank to the next by one clock cycle time, which keeps the number of clock cycle offsets as small as possible.
In accordance with an additional mode of the invention, in each case two single-bank commands are combined to form a multibank command. In particular, the multibank commands are formed from a respective first single-bank command, with which information items are forwarded, and a second single-bank command that alters the readiness of a memory cell for exchanging information items. The multibank commands thus formed make it possible for memory cells in two different memory banks alternately to be read from or written to anew. As a result, the writing and reading speed of a memory during a self-test can be doubled compared with many conventional methods of operation.
In accordance with yet another mode of the invention, one single-bank command of the multibank command is preferably a read command or a write command for reading or storing information items. The other single-bank command is preferably an activate command or a precharge command for activating or deactivating a memory cell for reading or storing information items.
With these methods, tests of semiconductor memories having a plurality of memory banks, in particular, self-tests, can be configured more diversely, be developed more cost-effectively, and, under certain circumstances, also be executed more quickly.
Objectives on which the invention is based are achieved with regard to the semiconductor circuit mentioned in the introduction by virtue of the fact that the semiconductor circuit has an additional processor that is connected downstream of the BIST processor and combines the single-bank commands to form multibank commands, as constituents of which the single-bank commands can be executed simultaneously by respective different memory banks.
By virtue of the single-bank commands that are generated with the aid of combining a conventional BIST processor in a suitable manner to form multibank commands and the BIST processor itself being adopted unchanged, it is possible to develop a more diverse test controller in a very inexpensive manner because its circuit can be retained with the exception of the additional processor that is to be newly developed, i.e., that processor that is connected downstream of the BIST subcircuit and combines the single-bank commands to form multibank commands.
With the objects of the invention in view, there is also provided a semiconductor circuit, including a semiconductor memory having memory banks, a BIST (built-in self-test) processor connected to the semiconductor memory and adapted to generate single-bank commands testing individual ones of the memory banks, and a processor connected to the memory and to the BIST processor downstream of the BIST processor with respect to a single-bank command flow direction, the processor adapted to combine the single-bank commands into multibank commands and to simultaneously execute the combined single-bank commands in respective different ones of the memory banks for testing purposes.
With the objects of the invention in view, there is also provided a semiconductor circuit, including a semiconductor memory having memory banks, a BIST processor adapted to generate single-bank commands testing individual ones of the memory banks, and a processor connected to the memory and to the BIST processor downstream of the BIST processor with respect to a single-bank command flow direction, the processor adapted to form a multibank command from at least two of the single-bank commands to effect execution of the at least two single-bank commands simultaneously in at least two respective ones of the memory banks for testing the at least two memory banks.
In accordance with yet a further feature of the invention, the additional processor in each case combines at least two single-bank commands to form a multibank command such that a first single-bank command can be executed by a first memory bank for test purposes even when a further, second single-bank command is executed by a second memory bank for test purposes at the same time.
In accordance with yet an added feature of the invention, the additional processor can be bridged and a self-test can optionally be carried out in a single-bank mode or in a multibank mode. If the additional processor is bridged, then the self-test is carried out in the same way as in a conventional on-chip test controller with the aid of single-bank commands with which only the basic functions of individual memory cells are tested. By contrast, if the additional processor is also used for the self-test, then the functional testing according to the invention in the multibank mode takes place. The testing in the single-bank mode can be used for the routine checking of the memory and the longer testing in the multibank mode can be carried out only in response to particular signals.
In accordance with yet an additional feature of the invention, there is provided a selection unit, which can change over between self-test commands generated on the semiconductor circuit and a line for external commands. Such a multiplexer makes it possible to carry out a test of the semiconductor memory both as self-test with the aid of a BIST circuit and with the aid of an external test device connected to the semiconductor circuit. The line provided for external commands and also a line proceeding from the BIST subcircuit are both connected to inputs of the multiplexer, which selects one of these lines and forwards the commands arriving through the latter to the memory.
In accordance with again another feature of the invention, selection unit is connected downstream of the additional processor. In such a case, the additional processor is situated in the line leading from the BIST circuit to the multiplexer and combines exclusively commands of the command sequences generated by the subcircuit. External commands, by contrast, are conducted directly into the other input of the multiplexer and from there directly to the semiconductor memory. Such an interposition of the additional processor between the BIST subcircuit and the multiplexer leaves open the possibility of testing arbitrary command sequences with the aid of an external test device. As such, the versatility and the speed of the built-in BIST test are increased.
In accordance with a concomitant feature of the invention, the circuit is an Application Specific Integrated Circuit (ASIC), whose semiconductor memory is an embedded Dynamic Random Access Memory (DRAM). Such semiconductor circuits, which are used for diverse purposes, can be tested with the aid of the invention""s formation of multibank commands in a more diverse manner separately from application specific circuit environments. As a result, it is possible to ascertain more quickly whether a circuit defect has arisen in the integrated semiconductor memory or in the application specific circuit environment.
With the aid of the semiconductor circuit described above, single-bank commands can be combined to form multibank commands according to one of the methods mentioned above.
Other features that are considered as characteristic for the invention are set forth in the appended claims.
Although the invention is illustrated and described herein as embodied in a test of a semiconductor memory having a plurality of memory banks, it is, nevertheless, not intended to be limited to the details shown because various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.
The construction and method of operation of the invention, however, together with additional objects and advantages thereof, will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.